package com.szrt.day20161024.point02;


import org.junit.Test;

public class StringDemo {
	
	
	@Test
	public void testName() throws Exception {
		
		//字符串   
		//羊肉串   问：  羊肉串里面是羊肉吗?  是  所以：字符串里面是字符  char
		
		String name = "张无忌";
		
		
		//1：到底有多少个字符?
		//面试题目：  请分别写出数组 list String 求长度的方法....  注意：在白纸上写！！！ 80%
		
		int length = name.length();
		System.out.println(length);
		
		//2：学会遍历   String 当作 数组来处理
		for(int index =0; index<length;index++){
			char xx =name.charAt(index);
			System.err.println(xx);
		}
		
		System.err.println("================================================================");
		//3: 遍历：可不可以装逼?
		for(char xx: name.toCharArray()){
			System.err.println(xx);
		}
		
	}
	
	
	/**
	 * 字符串截取
	 * @throws Exception
	 */
	@Test
	public void substring() throws Exception {
		
		//字符串    子字符串：从某个大的字符串里面切割出一段。
		//羊肉串   问：  羊肉串里面是羊肉吗?  是  所以：字符串里面是字符  char
		
		String name = "张无忌爱赵敏";
		
		//需求： 我只要字符串前面的2个字符?    
		
		//2.1 字符串的下标从什么开始? 0
		
		System.out.println(name.charAt(1));
		
		//从下标等于1的char开始  有包括这个字符  到字符串的末尾技术
		System.out.println(name.substring(1));
		
		//坑爹： 100%的最少会犯错1次   掌握方法：只是他犯错了之后会修正这个
		// 2个都是下标    从第1个下标开始，有包括第1个下标   到第2个下标结束 重点：坑 没有包括第2个下标本身
		System.out.println(name.substring(1,4));
		
		
	}
	
	
	
	/**
	 * 面试题目：   60%的人会判断错误...
	 * @throws Exception
	 */
	@Test
	public void bijiao() throws Exception {
		
		//字符串    子字符串：从某个大的字符串里面切割出一段。
		//羊肉串   问：  羊肉串里面是羊肉吗?  是  所以：字符串里面是字符  char
		
		String name01 = "张无忌";
		
		String name02 = new String("张无忌");
		
		// ==  既要比较值是否相等  还要比较内存地址是否相等
		System.out.println(name01    == name02);        // false
		
		//equals 只要比较值相等就行 
		System.out.println(name01.equals(name02));      // true
		
	}
	
	
	
	/**
	 * 根据id批量删除多条记录
	 * 
	 *   ids   12,13,14
	 * @throws Exception
	 */
	@Test
	public void split() throws Exception {
		
		//字符串    子字符串：从某个大的字符串里面切割出一段。
		//羊肉串   问：  羊肉串里面是羊肉吗?  是  所以：字符串里面是字符  char
		
		String name01 = "张无忌,赵敏,周芷若,李云龙";
		
		//String [] names ={"张无忌","赵敏","周芷若","李云龙"};
		String [] names = name01.split(",");
		
		//....
		
		System.out.println(names.length);
		
		for(String n: names){
			System.out.print(n + "\t");
		}
	}
	
	
	/**
	 * 包含
	 * @throws Exception
	 */
	@Test
	public void contain() throws Exception {
		
		//字符串    子字符串：从某个大的字符串里面切割出一段。  ctrl + t 可以快速找到子类
		//羊肉串   问：  羊肉串里面是羊肉吗?  是  所以：字符串里面是字符  char
		
		String name01 = "张无忌赵敏周芷若李云龙";
		
		System.out.println(name01.contains("赵xx"));
		System.err.println(name01.contains(new StringBuffer("周芷若")));
	}
	
	
	

}
